package net.linku.converter;

import net.linku.domain.LAAccount;
import net.linku.model.resp.login.LAAccountVO;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * AccountMapperConverter 是一个使用 MapStruct 进行对象映射的接口。
 * <p>
 * 该接口定义了如何在不同的对象之间进行转换操作。通过设置 @Mapper 注解中的
 * builder 参数为 @Builder(disableBuilder = true)，我们禁用了 MapStruct
 * 生成的 Builder 模式，直接使用传统的 setter 方法进行对象属性的复制。
 * </p>
 * 作者：SilenceTian
 * 日期：2024/7/13
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface AccountMapperConverter {
    /**
     * 获取 MenuMapper 实例，用于调用转换方法。
     */
    AccountMapperConverter INSTANCE = Mappers.getMapper(AccountMapperConverter.class);

    List<LAAccountVO> covertToAccountsVO(List<LAAccount> accounts);
}
